package net.posick.ws.soap;

import java.io.Serializable;

import net.posick.ws.xml.Name;
import net.posick.ws.xml.XmlElement;

public abstract class SOAPBase extends XmlElement implements Serializable
{
    private static final long serialVersionUID = 201403271221L;
    
    
    public static final String PREFIX_SOAP_1_1 = "soap";
    
    public static final String PREFIX_SOAP_1_1_ENCODING = "enc";
    
    public static final String PREFIX_SOAP_ADDRESSING = "wsa";
    
    public static final String PREFIX_SOAP_XOP = "xop";
    
    
    public static final String NAMESPACE_SOAP_1_1 = "http://schemas.xmlsoap.org/soap/envelope/";
    
    public static final String NAMESPACE_SOAP_1_1_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
    
    public static final String NAMESPACE_SOAP_ADDRESSING = "http://www.w3.org/2005/08/addressing";
    
    public static final String NAMESPACE_SOAP_XOP = "http://www.w3.org/2004/08/xop/include";

    
    protected static final String ERROR_MESSAGE_R1000 = "When an ENVELOPE is a Fault, the " + PREFIX_SOAP_1_1 + ":" + SOAPFault.ELEMENT_NAME + " element MUST NOT have element children other than faultcode, faultstring, faultactor and detail.";

    protected static final String ERROR_MESSAGE_R1011 = "An ENVELOPE MUST NOT have any element children of the " + PREFIX_SOAP_1_1 + ":" + SOAPEnvelope.ELEMENT_NAME + " following the " + PREFIX_SOAP_1_1 + ":" + SOAPBody.ELEMENT_NAME + " element.";

    protected static final String ERROR_MESSAGE_R1014 = "The children of the " + PREFIX_SOAP_1_1 + ":" + SOAPBody.ELEMENT_NAME + " element in an ENVELOPE MUST be namespace qualified.";
    
    protected static final String ERROR_MESSAGE_R1033 = "An ENVELOPE MUST NOT contain the namespace declaration xmlns:xml=\"http://www.w3.org/XML/1998/namespace\".";
    
    protected static final String ERROR_MESSAGE_R1107 = "A RECEIVER MUST interpret a SOAP message as a Fault when the " + PREFIX_SOAP_1_1 + ":" + SOAPBody.ELEMENT_NAME + " of the message has a single " + PREFIX_SOAP_1_1 + ":" + SOAPFault.ELEMENT_NAME + " child.";
    
    protected static final String ERROR_MESSAGE_R9980 = "An ENVELOPE MUST conform to the structure specified in SOAP 1.1 Section 4, \"SOAP Envelope\" (subject to amendment by the Profile).";
    
    protected static final String ERROR_MESSAGE_R9981 = "An ENVELOPE MUST have exactly zero or one child elements of the " + PREFIX_SOAP_1_1 + ":" + SOAPBody.ELEMENT_NAME + " element.";
    
    
    public SOAPBase(Name fqn)
    {
        super(fqn);
    }
}
